LABO 1

Author

Yachay Tech University

Published

September 27, 2025

Code
# Librerías necesarias
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

sns.set(style="whitegrid", palette="muted")
%matplotlib inline

# Cargar dataset
df = pd.read_csv("data.csv", sep=";", decimal=",", encoding='latin1')
df = df.replace(r'^\s*$', pd.NA, regex=True)  # Reemplazar vacíos por NaN

# Convertir columnas numéricas a float
meses = ['ene','feb','mar','abr','may','jun','jul','ago','sep','oct','nov','dic']
df[meses] = df[meses].apply(pd.to_numeric, errors='coerce')

Gráficos de barras - primeras 3 estaciones

Code
estaciones_unicas = df['NombreEstacion'].unique()[:3]

for estacion in estaciones_unicas:
    df_est = df[df['NombreEstacion'] == estacion]
    df_melt = df_est.melt(id_vars=['anio'], value_vars=meses,
                          var_name='Mes', value_name='Precipitacion')
    
    plt.figure(figsize=(10,5))
    sns.barplot(data=df_melt, x='Mes', y='Precipitacion', ci=None)
    plt.title(f"Precipitación mensual - {estacion}")
    plt.ylabel("Precipitación")
    plt.show()
C:\Users\User\AppData\Local\Temp\ipykernel_11820\825738579.py:9: FutureWarning: 

The `ci` parameter is deprecated. Use `errorbar=None` for the same effect.

  sns.barplot(data=df_melt, x='Mes', y='Precipitacion', ci=None)

C:\Users\User\AppData\Local\Temp\ipykernel_11820\825738579.py:9: FutureWarning: 

The `ci` parameter is deprecated. Use `errorbar=None` for the same effect.

  sns.barplot(data=df_melt, x='Mes', y='Precipitacion', ci=None)

C:\Users\User\AppData\Local\Temp\ipykernel_11820\825738579.py:9: FutureWarning: 

The `ci` parameter is deprecated. Use `errorbar=None` for the same effect.

  sns.barplot(data=df_melt, x='Mes', y='Precipitacion', ci=None)

Gráfico de correlación entre estaciones (enero)

Code
# Pivotar para tener estaciones como columnas
df_pivot = df.pivot(index='anio', columns='NombreEstacion', values='ene')
plt.figure(figsize=(10,8))
sns.heatmap(df_pivot.corr(), annot=True, cmap="coolwarm", linewidths=0.5)
plt.title("Correlación de precipitaciones - Mes de Enero")
plt.show()

Gráfico lineal de evolución de enero para todas las estaciones

Code
for estacion in df['NombreEstacion'].unique():
    df_est = df[df['NombreEstacion'] == estacion]
    plt.figure(figsize=(12,5))
    plt.plot(df_est['anio'], df_est['ene'], marker='o', label=estacion)
    plt.title(f"Evolución de precipitaciones en enero - {estacion}")
    plt.xlabel("Año")
    plt.ylabel("Precipitación")
    plt.grid(True)
    plt.show()